//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(new String('he' + 'llo') == new Object());
write(new String('he' + 'llo') == new Object());
write(new String('he' + 'llo') == [1, 2, 3]);
write(new String('he' + 'llo') == [1 ,2 , 3]);
write(new String('he' + 'llo') == new Array(3));
write(new String('he' + 'llo') == Array(3));
write(new String('he' + 'llo') == new Array(1 ,2 ,3));
write(new String('he' + 'llo') == Array(1));
write(new String('he' + 'llo') == foo);
write(new Object() == undefined);
write(new Object() == null);
write(new Object() == true);
write(new Object() == false);
write(new Object() == Boolean(true));
write(new Object() == Boolean(false));
write(new Object() == new Boolean(true));
write(new Object() == new Boolean(false));
write(new Object() == NaN);
write(new Object() == +0);
write(new Object() == -0);
write(new Object() == 0);
write(new Object() == 0.0);
write(new Object() == -0.0);
write(new Object() == +0.0);
write(new Object() == 1);
write(new Object() == 10);
write(new Object() == 10.0);
write(new Object() == 10.1);
write(new Object() == -1);
write(new Object() == -10);
write(new Object() == -10.0);
write(new Object() == -10.1);
write(new Object() == Number.MAX_VALUE);
write(new Object() == Number.MIN_VALUE);
write(new Object() == Number.NaN);
write(new Object() == Number.POSITIVE_INFINITY);
write(new Object() == Number.NEGATIVE_INFINITY);
write(new Object() == new Number(NaN));
write(new Object() == new Number(+0));
write(new Object() == new Number(-0));
write(new Object() == new Number(0));
write(new Object() == new Number(0.0));
write(new Object() == new Number(-0.0));
write(new Object() == new Number(+0.0));
write(new Object() == new Number(1));
write(new Object() == new Number(10));
write(new Object() == new Number(10.0));
write(new Object() == new Number(10.1));
write(new Object() == new Number(-1));
write(new Object() == new Number(-10));
write(new Object() == new Number(-10.0));
write(new Object() == new Number(-10.1));
write(new Object() == new Number(Number.MAX_VALUE));
write(new Object() == new Number(Number.MIN_VALUE));
write(new Object() == new Number(Number.NaN));
write(new Object() == new Number(Number.POSITIVE_INFINITY));
write(new Object() == new Number(Number.NEGATIVE_INFINITY));
write(new Object() == '');
write(new Object() == 0xa);
write(new Object() == 04);
write(new Object() == 'hello');
write(new Object() == 'hel' + 'lo');
write(new Object() == String(''));
write(new Object() == String('hello'));
write(new Object() == String('h' + 'ello'));
write(new Object() == new String(''));
write(new Object() == new String('hello'));
write(new Object() == new String('he' + 'llo'));
write(new Object() == new Object());
write(new Object() == new Object());
write(new Object() == [1, 2, 3]);
write(new Object() == [1 ,2 , 3]);
write(new Object() == new Array(3));
write(new Object() == Array(3));
write(new Object() == new Array(1 ,2 ,3));
write(new Object() == Array(1));
write(new Object() == foo);
write(new Object() == undefined);
write(new Object() == null);
write(new Object() == true);
write(new Object() == false);
write(new Object() == Boolean(true));
write(new Object() == Boolean(false));
write(new Object() == new Boolean(true));
write(new Object() == new Boolean(false));
write(new Object() == NaN);
write(new Object() == +0);
write(new Object() == -0);
write(new Object() == 0);
write(new Object() == 0.0);
write(new Object() == -0.0);
write(new Object() == +0.0);
write(new Object() == 1);
write(new Object() == 10);
write(new Object() == 10.0);
write(new Object() == 10.1);
write(new Object() == -1);
write(new Object() == -10);
write(new Object() == -10.0);
write(new Object() == -10.1);
write(new Object() == Number.MAX_VALUE);
write(new Object() == Number.MIN_VALUE);
write(new Object() == Number.NaN);
write(new Object() == Number.POSITIVE_INFINITY);
write(new Object() == Number.NEGATIVE_INFINITY);
write(new Object() == new Number(NaN));
write(new Object() == new Number(+0));
write(new Object() == new Number(-0));
write(new Object() == new Number(0));
write(new Object() == new Number(0.0));
write(new Object() == new Number(-0.0));
write(new Object() == new Number(+0.0));
write(new Object() == new Number(1));
write(new Object() == new Number(10));
write(new Object() == new Number(10.0));
write(new Object() == new Number(10.1));
write(new Object() == new Number(-1));
write(new Object() == new Number(-10));
write(new Object() == new Number(-10.0));
write(new Object() == new Number(-10.1));
write(new Object() == new Number(Number.MAX_VALUE));
write(new Object() == new Number(Number.MIN_VALUE));
write(new Object() == new Number(Number.NaN));
write(new Object() == new Number(Number.POSITIVE_INFINITY));
write(new Object() == new Number(Number.NEGATIVE_INFINITY));
write(new Object() == '');
write(new Object() == 0xa);
write(new Object() == 04);
write(new Object() == 'hello');
write(new Object() == 'hel' + 'lo');
write(new Object() == String(''));
write(new Object() == String('hello'));
write(new Object() == String('h' + 'ello'));
write(new Object() == new String(''));
write(new Object() == new String('hello'));
write(new Object() == new String('he' + 'llo'));
write(new Object() == new Object());
write(new Object() == new Object());
write(new Object() == [1, 2, 3]);
write(new Object() == [1 ,2 , 3]);
write(new Object() == new Array(3));
write(new Object() == Array(3));
write(new Object() == new Array(1 ,2 ,3));
write(new Object() == Array(1));
write(new Object() == foo);
write([1, 2, 3] == undefined);
write([1, 2, 3] == null);
write([1, 2, 3] == true);
write([1, 2, 3] == false);
write([1, 2, 3] == Boolean(true));
write([1, 2, 3] == Boolean(false));
write([1, 2, 3] == new Boolean(true));
write([1, 2, 3] == new Boolean(false));
write([1, 2, 3] == NaN);
write([1, 2, 3] == +0);
write([1, 2, 3] == -0);
write([1, 2, 3] == 0);
write([1, 2, 3] == 0.0);
write([1, 2, 3] == -0.0);
write([1, 2, 3] == +0.0);
write([1, 2, 3] == 1);
write([1, 2, 3] == 10);
write([1, 2, 3] == 10.0);
write([1, 2, 3] == 10.1);
write([1, 2, 3] == -1);
write([1, 2, 3] == -10);
write([1, 2, 3] == -10.0);
write([1, 2, 3] == -10.1);
write([1, 2, 3] == Number.MAX_VALUE);
write([1, 2, 3] == Number.MIN_VALUE);
write([1, 2, 3] == Number.NaN);
write([1, 2, 3] == Number.POSITIVE_INFINITY);
write([1, 2, 3] == Number.NEGATIVE_INFINITY);
write([1, 2, 3] == new Number(NaN));
write([1, 2, 3] == new Number(+0));
write([1, 2, 3] == new Number(-0));
write([1, 2, 3] == new Number(0));
write([1, 2, 3] == new Number(0.0));
write([1, 2, 3] == new Number(-0.0));
write([1, 2, 3] == new Number(+0.0));
write([1, 2, 3] == new Number(1));
write([1, 2, 3] == new Number(10));
write([1, 2, 3] == new Number(10.0));
write([1, 2, 3] == new Number(10.1));
write([1, 2, 3] == new Number(-1));
write([1, 2, 3] == new Number(-10));
write([1, 2, 3] == new Number(-10.0));
write([1, 2, 3] == new Number(-10.1));
write([1, 2, 3] == new Number(Number.MAX_VALUE));
write([1, 2, 3] == new Number(Number.MIN_VALUE));
write([1, 2, 3] == new Number(Number.NaN));
write([1, 2, 3] == new Number(Number.POSITIVE_INFINITY));
write([1, 2, 3] == new Number(Number.NEGATIVE_INFINITY));
write([1, 2, 3] == '');
write([1, 2, 3] == 0xa);
write([1, 2, 3] == 04);
write([1, 2, 3] == 'hello');
write([1, 2, 3] == 'hel' + 'lo');
write([1, 2, 3] == String(''));
write([1, 2, 3] == String('hello'));
write([1, 2, 3] == String('h' + 'ello'));
write([1, 2, 3] == new String(''));
write([1, 2, 3] == new String('hello'));
write([1, 2, 3] == new String('he' + 'llo'));
write([1, 2, 3] == new Object());
write([1, 2, 3] == new Object());
write([1, 2, 3] == [1, 2, 3]);
write([1, 2, 3] == [1 ,2 , 3]);
write([1, 2, 3] == new Array(3));
write([1, 2, 3] == Array(3));
write([1, 2, 3] == new Array(1 ,2 ,3));
write([1, 2, 3] == Array(1));
write([1, 2, 3] == foo);
write([1 ,2 , 3] == undefined);
write([1 ,2 , 3] == null);
write([1 ,2 , 3] == true);
write([1 ,2 , 3] == false);
write([1 ,2 , 3] == Boolean(true));
write([1 ,2 , 3] == Boolean(false));
write([1 ,2 , 3] == new Boolean(true));
write([1 ,2 , 3] == new Boolean(false));
write([1 ,2 , 3] == NaN);
write([1 ,2 , 3] == +0);
write([1 ,2 , 3] == -0);
write([1 ,2 , 3] == 0);
write([1 ,2 , 3] == 0.0);
write([1 ,2 , 3] == -0.0);
write([1 ,2 , 3] == +0.0);
write([1 ,2 , 3] == 1);
write([1 ,2 , 3] == 10);
write([1 ,2 , 3] == 10.0);
write([1 ,2 , 3] == 10.1);
write([1 ,2 , 3] == -1);
write([1 ,2 , 3] == -10);
write([1 ,2 , 3] == -10.0);
write([1 ,2 , 3] == -10.1);
write([1 ,2 , 3] == Number.MAX_VALUE);
write([1 ,2 , 3] == Number.MIN_VALUE);
write([1 ,2 , 3] == Number.NaN);
write([1 ,2 , 3] == Number.POSITIVE_INFINITY);
write([1 ,2 , 3] == Number.NEGATIVE_INFINITY);
write([1 ,2 , 3] == new Number(NaN));
write([1 ,2 , 3] == new Number(+0));
write([1 ,2 , 3] == new Number(-0));
write([1 ,2 , 3] == new Number(0));
write([1 ,2 , 3] == new Number(0.0));
write([1 ,2 , 3] == new Number(-0.0));
write([1 ,2 , 3] == new Number(+0.0));
write([1 ,2 , 3] == new Number(1));
write([1 ,2 , 3] == new Number(10));
write([1 ,2 , 3] == new Number(10.0));
write([1 ,2 , 3] == new Number(10.1));
write([1 ,2 , 3] == new Number(-1));
write([1 ,2 , 3] == new Number(-10));
write([1 ,2 , 3] == new Number(-10.0));
write([1 ,2 , 3] == new Number(-10.1));
write([1 ,2 , 3] == new Number(Number.MAX_VALUE));
write([1 ,2 , 3] == new Number(Number.MIN_VALUE));
write([1 ,2 , 3] == new Number(Number.NaN));
write([1 ,2 , 3] == new Number(Number.POSITIVE_INFINITY));
write([1 ,2 , 3] == new Number(Number.NEGATIVE_INFINITY));
write([1 ,2 , 3] == '');
write([1 ,2 , 3] == 0xa);
write([1 ,2 , 3] == 04);
write([1 ,2 , 3] == 'hello');
write([1 ,2 , 3] == 'hel' + 'lo');
write([1 ,2 , 3] == String(''));
write([1 ,2 , 3] == String('hello'));
write([1 ,2 , 3] == String('h' + 'ello'));
write([1 ,2 , 3] == new String(''));
write([1 ,2 , 3] == new String('hello'));
write([1 ,2 , 3] == new String('he' + 'llo'));
write([1 ,2 , 3] == new Object());
write([1 ,2 , 3] == new Object());
write([1 ,2 , 3] == [1, 2, 3]);
write([1 ,2 , 3] == [1 ,2 , 3]);
write([1 ,2 , 3] == new Array(3));
write([1 ,2 , 3] == Array(3));
write([1 ,2 , 3] == new Array(1 ,2 ,3));
write([1 ,2 , 3] == Array(1));
write([1 ,2 , 3] == foo);
write(new Array(3) == undefined);
write(new Array(3) == null);
write(new Array(3) == true);
write(new Array(3) == false);
write(new Array(3) == Boolean(true));
write(new Array(3) == Boolean(false));
write(new Array(3) == new Boolean(true));
write(new Array(3) == new Boolean(false));
write(new Array(3) == NaN);
write(new Array(3) == +0);
write(new Array(3) == -0);
write(new Array(3) == 0);
write(new Array(3) == 0.0);
write(new Array(3) == -0.0);
write(new Array(3) == +0.0);
write(new Array(3) == 1);
write(new Array(3) == 10);
write(new Array(3) == 10.0);
write(new Array(3) == 10.1);
write(new Array(3) == -1);
write(new Array(3) == -10);
write(new Array(3) == -10.0);
write(new Array(3) == -10.1);
write(new Array(3) == Number.MAX_VALUE);
write(new Array(3) == Number.MIN_VALUE);
write(new Array(3) == Number.NaN);
write(new Array(3) == Number.POSITIVE_INFINITY);
write(new Array(3) == Number.NEGATIVE_INFINITY);
write(new Array(3) == new Number(NaN));
write(new Array(3) == new Number(+0));
write(new Array(3) == new Number(-0));
write(new Array(3) == new Number(0));
write(new Array(3) == new Number(0.0));
write(new Array(3) == new Number(-0.0));
write(new Array(3) == new Number(+0.0));
write(new Array(3) == new Number(1));
write(new Array(3) == new Number(10));
write(new Array(3) == new Number(10.0));
write(new Array(3) == new Number(10.1));
write(new Array(3) == new Number(-1));
write(new Array(3) == new Number(-10));
write(new Array(3) == new Number(-10.0));
write(new Array(3) == new Number(-10.1));
write(new Array(3) == new Number(Number.MAX_VALUE));
write(new Array(3) == new Number(Number.MIN_VALUE));
write(new Array(3) == new Number(Number.NaN));
write(new Array(3) == new Number(Number.POSITIVE_INFINITY));
write(new Array(3) == new Number(Number.NEGATIVE_INFINITY));
write(new Array(3) == '');
write(new Array(3) == 0xa);
write(new Array(3) == 04);
write(new Array(3) == 'hello');
write(new Array(3) == 'hel' + 'lo');
write(new Array(3) == String(''));
write(new Array(3) == String('hello'));
write(new Array(3) == String('h' + 'ello'));
write(new Array(3) == new String(''));
write(new Array(3) == new String('hello'));
write(new Array(3) == new String('he' + 'llo'));
write(new Array(3) == new Object());
write(new Array(3) == new Object());
write(new Array(3) == [1, 2, 3]);
write(new Array(3) == [1 ,2 , 3]);
write(new Array(3) == new Array(3));
write(new Array(3) == Array(3));
write(new Array(3) == new Array(1 ,2 ,3));
write(new Array(3) == Array(1));
write(new Array(3) == foo);
write(Array(3) == undefined);
write(Array(3) == null);
write(Array(3) == true);
write(Array(3) == false);
write(Array(3) == Boolean(true));
write(Array(3) == Boolean(false));
write(Array(3) == new Boolean(true));
write(Array(3) == new Boolean(false));
write(Array(3) == NaN);
write(Array(3) == +0);
write(Array(3) == -0);
write(Array(3) == 0);
write(Array(3) == 0.0);
write(Array(3) == -0.0);
write(Array(3) == +0.0);
write(Array(3) == 1);
write(Array(3) == 10);
write(Array(3) == 10.0);
write(Array(3) == 10.1);
write(Array(3) == -1);
write(Array(3) == -10);
write(Array(3) == -10.0);
write(Array(3) == -10.1);
write(Array(3) == Number.MAX_VALUE);
write(Array(3) == Number.MIN_VALUE);
write(Array(3) == Number.NaN);
write(Array(3) == Number.POSITIVE_INFINITY);
write(Array(3) == Number.NEGATIVE_INFINITY);
write(Array(3) == new Number(NaN));
write(Array(3) == new Number(+0));
write(Array(3) == new Number(-0));
write(Array(3) == new Number(0));
write(Array(3) == new Number(0.0));
write(Array(3) == new Number(-0.0));
write(Array(3) == new Number(+0.0));
write(Array(3) == new Number(1));
write(Array(3) == new Number(10));
write(Array(3) == new Number(10.0));
write(Array(3) == new Number(10.1));
write(Array(3) == new Number(-1));
write(Array(3) == new Number(-10));
write(Array(3) == new Number(-10.0));
write(Array(3) == new Number(-10.1));
write(Array(3) == new Number(Number.MAX_VALUE));
write(Array(3) == new Number(Number.MIN_VALUE));
write(Array(3) == new Number(Number.NaN));
write(Array(3) == new Number(Number.POSITIVE_INFINITY));
write(Array(3) == new Number(Number.NEGATIVE_INFINITY));
write(Array(3) == '');
write(Array(3) == 0xa);
write(Array(3) == 04);
write(Array(3) == 'hello');
write(Array(3) == 'hel' + 'lo');
write(Array(3) == String(''));
write(Array(3) == String('hello'));
write(Array(3) == String('h' + 'ello'));
write(Array(3) == new String(''));
write(Array(3) == new String('hello'));
write(Array(3) == new String('he' + 'llo'));
write(Array(3) == new Object());
write(Array(3) == new Object());
write(Array(3) == [1, 2, 3]);
write(Array(3) == [1 ,2 , 3]);
write(Array(3) == new Array(3));
write(Array(3) == Array(3));
write(Array(3) == new Array(1 ,2 ,3));
write(Array(3) == Array(1));
write(Array(3) == foo);
write(new Array(1 ,2 ,3) == undefined);
write(new Array(1 ,2 ,3) == null);
write(new Array(1 ,2 ,3) == true);
write(new Array(1 ,2 ,3) == false);
write(new Array(1 ,2 ,3) == Boolean(true));
write(new Array(1 ,2 ,3) == Boolean(false));
write(new Array(1 ,2 ,3) == new Boolean(true));
write(new Array(1 ,2 ,3) == new Boolean(false));
write(new Array(1 ,2 ,3) == NaN);
write(new Array(1 ,2 ,3) == +0);
write(new Array(1 ,2 ,3) == -0);
write(new Array(1 ,2 ,3) == 0);
write(new Array(1 ,2 ,3) == 0.0);
write(new Array(1 ,2 ,3) == -0.0);
write(new Array(1 ,2 ,3) == +0.0);
write(new Array(1 ,2 ,3) == 1);
write(new Array(1 ,2 ,3) == 10);
write(new Array(1 ,2 ,3) == 10.0);
write(new Array(1 ,2 ,3) == 10.1);
write(new Array(1 ,2 ,3) == -1);
write(new Array(1 ,2 ,3) == -10);
write(new Array(1 ,2 ,3) == -10.0);
write(new Array(1 ,2 ,3) == -10.1);
write(new Array(1 ,2 ,3) == Number.MAX_VALUE);
write(new Array(1 ,2 ,3) == Number.MIN_VALUE);
write(new Array(1 ,2 ,3) == Number.NaN);
write(new Array(1 ,2 ,3) == Number.POSITIVE_INFINITY);
write(new Array(1 ,2 ,3) == Number.NEGATIVE_INFINITY);
write(new Array(1 ,2 ,3) == new Number(NaN));
write(new Array(1 ,2 ,3) == new Number(+0));
write(new Array(1 ,2 ,3) == new Number(-0));
write(new Array(1 ,2 ,3) == new Number(0));
write(new Array(1 ,2 ,3) == new Number(0.0));
write(new Array(1 ,2 ,3) == new Number(-0.0));
write(new Array(1 ,2 ,3) == new Number(+0.0));
write(new Array(1 ,2 ,3) == new Number(1));
write(new Array(1 ,2 ,3) == new Number(10));
write(new Array(1 ,2 ,3) == new Number(10.0));
write(new Array(1 ,2 ,3) == new Number(10.1));
write(new Array(1 ,2 ,3) == new Number(-1));
write(new Array(1 ,2 ,3) == new Number(-10));
write(new Array(1 ,2 ,3) == new Number(-10.0));
write(new Array(1 ,2 ,3) == new Number(-10.1));
write(new Array(1 ,2 ,3) == new Number(Number.MAX_VALUE));
write(new Array(1 ,2 ,3) == new Number(Number.MIN_VALUE));
write(new Array(1 ,2 ,3) == new Number(Number.NaN));
write(new Array(1 ,2 ,3) == new Number(Number.POSITIVE_INFINITY));
write(new Array(1 ,2 ,3) == new Number(Number.NEGATIVE_INFINITY));
write(new Array(1 ,2 ,3) == '');
write(new Array(1 ,2 ,3) == 0xa);
write(new Array(1 ,2 ,3) == 04);
write(new Array(1 ,2 ,3) == 'hello');
write(new Array(1 ,2 ,3) == 'hel' + 'lo');
write(new Array(1 ,2 ,3) == String(''));
write(new Array(1 ,2 ,3) == String('hello'));
write(new Array(1 ,2 ,3) == String('h' + 'ello'));
write(new Array(1 ,2 ,3) == new String(''));
write(new Array(1 ,2 ,3) == new String('hello'));
write(new Array(1 ,2 ,3) == new String('he' + 'llo'));
write(new Array(1 ,2 ,3) == new Object());
write(new Array(1 ,2 ,3) == new Object());
write(new Array(1 ,2 ,3) == [1, 2, 3]);
write(new Array(1 ,2 ,3) == [1 ,2 , 3]);
write(new Array(1 ,2 ,3) == new Array(3));
write(new Array(1 ,2 ,3) == Array(3));
write(new Array(1 ,2 ,3) == new Array(1 ,2 ,3));
write(new Array(1 ,2 ,3) == Array(1));
write(new Array(1 ,2 ,3) == foo);
write(Array(1) == undefined);
write(Array(1) == null);
write(Array(1) == true);
write(Array(1) == false);
write(Array(1) == Boolean(true));
write(Array(1) == Boolean(false));
write(Array(1) == new Boolean(true));
write(Array(1) == new Boolean(false));
write(Array(1) == NaN);
write(Array(1) == +0);
write(Array(1) == -0);
write(Array(1) == 0);
write(Array(1) == 0.0);
write(Array(1) == -0.0);
write(Array(1) == +0.0);
write(Array(1) == 1);
write(Array(1) == 10);
write(Array(1) == 10.0);
write(Array(1) == 10.1);
write(Array(1) == -1);
write(Array(1) == -10);
write(Array(1) == -10.0);
write(Array(1) == -10.1);
write(Array(1) == Number.MAX_VALUE);
write(Array(1) == Number.MIN_VALUE);
write(Array(1) == Number.NaN);
write(Array(1) == Number.POSITIVE_INFINITY);
write(Array(1) == Number.NEGATIVE_INFINITY);
write(Array(1) == new Number(NaN));
write(Array(1) == new Number(+0));
write(Array(1) == new Number(-0));
write(Array(1) == new Number(0));
write(Array(1) == new Number(0.0));
write(Array(1) == new Number(-0.0));
write(Array(1) == new Number(+0.0));
write(Array(1) == new Number(1));
write(Array(1) == new Number(10));
write(Array(1) == new Number(10.0));
write(Array(1) == new Number(10.1));
write(Array(1) == new Number(-1));
write(Array(1) == new Number(-10));
write(Array(1) == new Number(-10.0));
write(Array(1) == new Number(-10.1));
write(Array(1) == new Number(Number.MAX_VALUE));
write(Array(1) == new Number(Number.MIN_VALUE));
write(Array(1) == new Number(Number.NaN));
write(Array(1) == new Number(Number.POSITIVE_INFINITY));
write(Array(1) == new Number(Number.NEGATIVE_INFINITY));
write(Array(1) == '');
write(Array(1) == 0xa);
write(Array(1) == 04);
write(Array(1) == 'hello');
write(Array(1) == 'hel' + 'lo');
write(Array(1) == String(''));
write(Array(1) == String('hello'));
write(Array(1) == String('h' + 'ello'));
write(Array(1) == new String(''));
write(Array(1) == new String('hello'));
write(Array(1) == new String('he' + 'llo'));
write(Array(1) == new Object());
write(Array(1) == new Object());
write(Array(1) == [1, 2, 3]);
write(Array(1) == [1 ,2 , 3]);
write(Array(1) == new Array(3));
write(Array(1) == Array(3));
write(Array(1) == new Array(1 ,2 ,3));
write(Array(1) == Array(1));
write(Array(1) == foo);
write(foo == undefined);
write(foo == null);
write(foo == true);
write(foo == false);
write(foo == Boolean(true));
write(foo == Boolean(false));
write(foo == new Boolean(true));
write(foo == new Boolean(false));
write(foo == NaN);
write(foo == +0);
write(foo == -0);
write(foo == 0);
write(foo == 0.0);
write(foo == -0.0);
write(foo == +0.0);
write(foo == 1);
write(foo == 10);
write(foo == 10.0);
write(foo == 10.1);
write(foo == -1);
write(foo == -10);
write(foo == -10.0);
write(foo == -10.1);
write(foo == Number.MAX_VALUE);
write(foo == Number.MIN_VALUE);
write(foo == Number.NaN);
write(foo == Number.POSITIVE_INFINITY);
write(foo == Number.NEGATIVE_INFINITY);
write(foo == new Number(NaN));
write(foo == new Number(+0));
write(foo == new Number(-0));
write(foo == new Number(0));
write(foo == new Number(0.0));
write(foo == new Number(-0.0));
write(foo == new Number(+0.0));
write(foo == new Number(1));
write(foo == new Number(10));
write(foo == new Number(10.0));
write(foo == new Number(10.1));
write(foo == new Number(-1));
write(foo == new Number(-10));
write(foo == new Number(-10.0));
write(foo == new Number(-10.1));
write(foo == new Number(Number.MAX_VALUE));
write(foo == new Number(Number.MIN_VALUE));
write(foo == new Number(Number.NaN));
write(foo == new Number(Number.POSITIVE_INFINITY));
write(foo == new Number(Number.NEGATIVE_INFINITY));
write(foo == '');
write(foo == 0xa);
write(foo == 04);
write(foo == 'hello');
write(foo == 'hel' + 'lo');
write(foo == String(''));
write(foo == String('hello'));
write(foo == String('h' + 'ello'));
write(foo == new String(''));
write(foo == new String('hello'));
write(foo == new String('he' + 'llo'));
write(foo == new Object());
write(foo == new Object());
write(foo == [1, 2, 3]);
write(foo == [1 ,2 , 3]);
write(foo == new Array(3));
write(foo == Array(3));
write(foo == new Array(1 ,2 ,3));
write(foo == Array(1));
write(foo == foo);
